home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Data 2002 May / CD Rom Data Mayıs 2002.iso / Freeware / Blitz Basic / data1.cab / Support / help / samples / firepaint.bb < prev    next >
Encoding:
Text File  |  2002-04-10  |  1.2 KB  |  76 lines

  1. ;AppTitle "FirePaint!"
  2. ; verified 1.48 4/18/2001
  3.  
  4. Const intensity=20    ;play with this number!
  5. ;My P3-666 can handle '40' without dropping a frame (debug off)
  6. ;This looks AWESOME!
  7.  
  8. Const width=640,height=480,gravity#=.1
  9.  
  10. Graphics width,height
  11. SetBuffer BackBuffer()
  12.  
  13. Type Frag
  14.     Field x#,y#,xs#,ys#
  15.     Field r,g,b
  16. End Type
  17.  
  18. While Not KeyDown( 1 )
  19.     
  20.     UpdateFrags()
  21.     
  22.     Cls
  23.     
  24.     If MouseDown(1)
  25.         CreateFrags()
  26.     Else
  27.         Color 255,255,255
  28.         Rect MouseX(),MouseY()-3,1,7
  29.         Rect MouseX()-3,MouseY(),7,1
  30.     EndIf
  31.     
  32.     RenderFrags()
  33.     Flip
  34. Wend
  35.  
  36. End
  37.  
  38. Function CreateFrags()
  39.     count=Rnd(intensity)+intensity
  40.     anstep#=360.0/count
  41.     an#=Rnd(anstep)
  42.     For k=1 To count
  43.         f.Frag=New Frag
  44.         f\x=MouseX()
  45.         f\y=MouseY()
  46.         f\xs=Cos( an ) * Rnd( 3,4 )
  47.         f\ys=Sin( an ) * Rnd( 3,4 )
  48.         f\r=255:f\g=255:f\b=255
  49.         an=an+anstep
  50.     Next
  51. End Function
  52.  
  53. Function UpdateFrags()
  54.     For f.Frag=Each Frag
  55.         f\x=f\x+f\xs
  56.         f\y=f\y+f\ys
  57.         f\ys=f\ys+gravity
  58.         If f\x<0 Or f\x>=width Or f\y>=height
  59.             Delete f
  60.         Else If f\b>0
  61.             f\b=f\b-5
  62.         Else If f\g>0
  63.             f\g=f\g-3
  64.         Else If f\r>0
  65.             f\r=f\r-1
  66.             If f\r=0 Then Delete f
  67.         EndIf
  68.     Next
  69. End Function
  70.  
  71. Function RenderFrags()
  72.     For f.Frag=Each Frag
  73.         Color f\r,f\g,f\b
  74.         Rect f\x-1,f\y-1,3,3
  75.     Next
  76. End Function